6 research outputs found

    Optimal and Automated Microservice Deployment: formal definition, implementation and validation of a deployment engine

    Get PDF
    The main purpose of this work was to study the problem of optimal and automated deployment and reconfiguration (at the architectural level) of microservice systems, proving formal properties and realizing an implemented solution. It started from the Aeolus component model, which was used to formally define the problem of deploying component-based software systems and to prove different results about decidability and complexity. In particular, the Aeolus authors formally prove that, in the general case, such problem is undecidable. Starting from these results we expanded on the analysis of automated deployment and scaling, focusing on microservice architecture. Using a model inspired by Aeolus, considering the characteristics of microservices, we formally proved that the optimal and automated deployment and scaling for microservice architectures are algorithmically treatable. However, the decision version of the problem is NP-complete and to obtain the optimal solution it is necessary to solve an NP-optimization problem. To show the applicability of our approach we decided to also realize a model of a simple but realistic case-study. The model is developed using the Abstract Behavioral Specification (ABS) language, and to calculate the different deployment and scaling plans we used an ABS tool called SmartDepl. To solve the problem, SmartDepl relies on Zephyrus2. Zephyrus2 is a configuration optimizer that allows to compute the optimal deployment configuration of described applications. This work resulted in an extended abstract accepted at the Microservices 2019 conference in Dortmund (Germany), a paper accepted at the FASE 2019 (part of ETAPS) conference in Prague (Czech Republic), and an accepted book chapter

    Big Data Analytics and Application Deployment on Cloud Infrastructure

    Get PDF
    This dissertation describes a project began in October 2016. It was born from the collaboration between Mr.Alessandro Bandini and me, and has been developed under the supervision of professor Gianluigi Zavattaro. The main objective was to study, and in particular to experiment with, the cloud computing in general and its potentiality in the data elaboration field. Cloud computing is a utility-oriented and Internet-centric way of delivering IT services on demand. The first chapter is a theoretical introduction on cloud computing, analyzing the main aspects, the keywords, and the technologies behind clouds, as well as the reasons for the success of this technology and its problems. After the introduction section, I will briefly describe the three main cloud platforms in the market. During this project we developed a simple Social Network. Consequently in the third chapter I will analyze the social network development, with the initial solution realized through Amazon Web Services and the steps we took to obtain the final version using Google Cloud Platform with its charateristics. To conclude, the last section is specific for the data elaboration and contains a initial theoretical part that describes MapReduce and Hadoop followed by a description of our analysis. We used Google App Engine to execute these elaborations on a large dataset. I will explain the basic idea, the code and the problems encountered

    A Formal Approach to Microservice Architecture Deployment *

    Get PDF
    International audienceFollowing previous work on the automated deployment of componentbased applications, we present a formal model specifically tailored for reasoning on the deployment of microservice architectures. The first result that we present is a formal proof of decidability of the problem of synthesizing optimal deployment plans for microservice architectures, a problem which was proved to be undecidable for generic component-based applications. Then, given that such proof translates the deployment problem into a constraint satisfaction problem, we present the implementation of a tool that, by exploiting state-of-the-art constraint solvers, can be used to actually synthesize optimal deployment plans. We evaluate the applicability of our tool on a realistic microservice architecture taken from the literature

    Microservice Dynamic Architecture-Level Deployment Orchestration

    Get PDF
    International audienceWe develop a novel approach for run-time global adaptation of microservice applications, based on synthesis of architecture-level reconfiguration orchestrations. More precisely, we devise an algorithm for automatic reconfiguration that reaches a target system Maximum Computational Load by performing optimal deployment orchestrations. To conceive and simulate our approach, we introduce a novel integrated timed architectural modeling/execution language based on an extension of the actor-based object-oriented Abstract Behavioral Specification (ABS) language. In particular, we realize a timed extension of SmartDeployer, whose ABS code annotations make it possible to express architectural properties. Our Timed SmartDeployer tool fully integrates time features of ABS and architectural annotations by generating timed deployment orchestrations. We evaluate the applicability of our approach on a realistic microservice application taken from the literature: an Email Pipeline Processing System. We prove its effectiveness by simulating such an application and by comparing architecture-level reconfiguration with traditional local scaling techniques (which detect scaling needs and enact replications at the level of single microservices). Our comparison results show that our approach avoids cascading slowdowns and consequent increased message loss and latency, which affect traditional local scaling

    Improved custom statistics visualization for CA Performance Center data

    No full text
    The main goal of my project is to understand and experiment the possibilities that CA Performance Center (CA PC) offers for creating custom applications to display stored information through interesting visual means, such as maps. In particular, I have re-written some of the network statistics web pages in order to fetch data from new statistics modules in CA PC, which has its own API, and stop using the RRD data
    corecore